Dictionary.com defines it as:
The process of
analysing an existing
system to identify its components and their
interrelationships
and create representations of the system in another form or at
a higher level of abstraction.
Reverse engineering is usually
undertaken in order to redesign the system for better
maintainability or to produce a copy of a system without
access to the design from which it was originally produced